# Maintainer: Ronald van Haren <ronald.archlinux.org>
# Contributor: Tom Gundersen <teg@jklm.no>
# Contributor: Mark Rosenstand <mark@archlinux.org>

pkgbase=fuse3
pkgname=(fuse-common fuse3)
pkgver=3.2.6
pkgrel=1
arch=('x86_64')
url='https://github.com/libfuse/libfuse'
license=('GPL2')
makedepends=('pkg-config' 'meson' 'udev')
options=(!emptydirs)
source=(https://github.com/libfuse/libfuse/releases/download/fuse-$pkgver/fuse-$pkgver.tar.xz{,.asc}
	'fuse.conf')
sha1sums=('1bed50c4d7737b17079dc585864d6432cc6dedec'
          'SKIP'
          '3b42e37a741d4651099225987dc40e7f02a716ad')
validpgpkeys=(ED31791B2C5C1613AF388B8AD113FCAC3C4E599F) # Nikolaus Rath <Nikolaus@rath.org>

build() {
  cd fuse-$pkgver

  rm -rf build
  meson --prefix=/usr --sbindir=bin . build
  cd build
  ninja
}

package_fuse-common() {
  pkgdesc="Common files for fuse2/3 packages"
  backup=(etc/fuse.conf)
  depends=(glibc)

  cd fuse-$pkgver/build
  DESTDIR=${pkgdir} ninja install

  install -Dm644 ${srcdir}/fuse.conf ${pkgdir}/etc/fuse.conf

  # static device nodes are handled by udev
  rm -r ${pkgdir}/dev

  # Remove init script in wrong path
  # Don't add our own for now, as fusectl fs oopses on 2.6.18
  rm -r ${pkgdir}/etc/init.d

  # part of fuse3 package
  rm -r ${pkgdir}/usr/{bin/fusermount3,include,lib/{pkgconfig,libfuse3.so*},share/man/man1/fusermount3.1.gz}

  mv ${pkgdir}/usr/bin/mount.fuse3 ${pkgdir}/usr/bin/mount.fuse
}

package_fuse3() {
  pkgdesc="A library that makes it possible to implement a filesystem in a userspace program."
  depends=('fuse-common')

  cd fuse-$pkgver/build

  DESTDIR=${pkgdir} ninja install

  # Remove init script in wrong path
  # Don't add our own for now, as fusectl fs oopses on 2.6.18
  rm -r ${pkgdir}/etc/init.d

  rm ${pkgdir}/etc/fuse.conf

  # static device nodes are handled by udev
  rm -r ${pkgdir}/dev

  # part of fuse-common package
  rm -r ${pkgdir}/usr/lib/udev/rules.d
  rm ${pkgdir}/usr/share/man/man8/mount.fuse3.8.gz ${pkgdir}/usr/bin/mount.fuse3
}
